//package com.github.baichuan.application.facilities.dto.resource;
//
//import com.github.baichuan.application.facilities.domain.authorization.Resource;
//import com.github.baichuan.mapping.Mapping;
//import io.swagger.v3.oas.annotations.media.Schema;
//import jakarta.validation.constraints.NotBlank;
//import jakarta.validation.constraints.NotNull;
//import jakarta.validation.constraints.Size;
//import lombok.Getter;
//import lombok.Setter;
//
//@Schema(title = "功能菜单表单")
//@Getter
//@Setter
//public class ResourceForm {
//
//    @Schema(title = "资源名称", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotBlank(message = "资源名称不能为空")
//    @Size(max = 16, message = "资源名称最多16个字符")
//    @Mapping
//    private String name;
//
//    @Schema(title = "资源代码", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotBlank(message = "资源代码不能为空")
//    @Size(max = 32, message = "资源代码最多32个字符")
//    @Mapping
//    private String code;
//
//    @Schema(title = "父资源")
//    @Mapping("parent.id")
//    private String parentId;
//
//    @Schema(title = "资源类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "Menu|Operation")
//    @NotNull(message = "资源类型不能为空")
//    @Mapping
//    private Resource.Kind kind;
//
//    @Schema(title = "前端路由")
//    @Size(max= 64, message = "前端路由最多64个字符")
//    @Mapping
//    private String route;
//
//    @Schema(title = "前端路径")
//    @Size(max= 64, message = "前端路径最多64个字符")
//    @Mapping
//    private String path;
//
//    @Schema(title = "图标样式")
//    @Size(max= 64, message = "图标样式最多32个字符")
//    @Mapping
//    private String iconCss;
//
//    @Schema(title = "排序")
//    @NotNull(message = "排序不能为空")
//    @Mapping
//    private Short sort;
//}
